Three-dimensional surface texturing

ABSTRACT

An additive three-dimensional fabrication process is improved by controlling deposition rate to obtain surface textures or other surface features below the nominal processing resolution of fabrication hardware. Sub-resolution information may be obtained, for example, from express metadata (such as for surface texture), or by interpolating data from a source digital model.

BACKGROUND

In an additive three-dimensional fabrication system, a physical objectcan be realized from a digital model by depositing successive layers ofa build material that accumulate to provide the desired form. Certainadditive techniques render each layer as a single, continuous path of anextruded material, typically completing a layer of the object in an x-yplane and then stepping to a next z position (or height) for eachsubsequent cross-sectional plane, all under computer control.

Techniques such as partial stepping or micro-step driving have beendevised to increase spatial resolution for stepper motors typically usedto control x-y positioning in such additive techniques. However, thereremains a need for additive fabrication techniques that permitindependent application of surface texture and other surface features,in particular small or sub-pixel features, to a model duringfabrication.

SUMMARY

An additive three-dimensional fabrication process is improved bycontrolling deposition rate to obtain surface textures or other surfacefeatures below the nominal processing resolution of fabricationhardware. Sub-resolution information may be obtained, for example, fromexpress metadata (such as for surface texture), or by interpolating datafrom a source digital model.

BRIEF DESCRIPTION OF THE FIGURES

The invention and the following detailed description of certainembodiments thereof may be understood by reference to the followingfigures:

FIG. 1 is a block diagram of a three-dimensional printer.

FIG. 2 is a block diagram of a controller architecture for athree-dimensional printer.

FIG. 3 is a flowchart of a process for imparting surface texture to athree-dimensional object.

FIG. 4 is a flowchart of a process for fabricating an object withsub-pixel surface features.

FIG. 5 is a block diagram of a data structure describing an object forthree-dimensional fabrication.

FIG. 6 shows an extrusion of a build material.

FIG. 7 shows an extrusion of a build material.

FIG. 8 shows an extrusion of a build material.

FIG. 9 depicts an exterior wall 900 of an object fabricated from adigital model using a varying deposition rate.

DETAILED DESCRIPTION

All documents mentioned herein are hereby incorporated in their entiretyby reference. References to items in the singular should be understoodto include items in the plural, and vice versa, unless explicitly statedotherwise or clear from the text. Grammatical conjunctions are intendedto express any and all disjunctive and conjunctive combinations ofconjoined clauses, sentences, words, and the like, unless otherwisestated or clear from the context. Thus the term “or” should generally beunderstood to mean “and/or” and so forth.

FIG. 1 is a block diagram of a three-dimensional printer. In general,the printer 100 may include a build platform 102, an extruder 106, anx-y-z positioning assembly 108, and a controller 110 that cooperate tofabricate an object 112 within a working volume 114 of the printer 100.

The build platform 102 may include a surface 116 that is rigid andsubstantially planar. The surface 116 may provide a fixed, dimensionallyand positionally stable platform on which to build the object 112. Thebuild platform 102 may include a thermal element 130 that controls thetemperature of the build platform 102 through one or more active devices132 such as resistive elements that convert electrical current intoheat, Peltier effect devices that can create a heating or coolingaffect, or any other thermoelectric heating and/or cooling devices. Theheating element 130 may be coupled in a communicating relationship withthe controller 110 in order for the controller 110 to controllablyimpart heat to or remove heat from the surface 116 of the build platform102.

The extruder 106 may include a chamber 122 in an interior thereof toreceive a build material. The build material may, for example, includeacrylonitrile butadiene styrene (“ABS”), high-density polyethylene(“HDPL”), polylactic acid, or any other suitable plastic, thermoplastic,or other material that can usefully be extruded to form athree-dimensional object. The extruder 106 may include an extrusion tip124 or other opening that includes an exit port with a circular, oval,slotted or other cross-sectional profile that extrudes build material ina desired cross-sectional shape.

The extruder 106 may include a heater 126 to melt thermoplastic or othermeltable build materials within the chamber 122 for extrusion through anextrusion tip 124 in liquid form. While illustrated in block form, itwill be understood that the heater 124 may include, e.g., coils ofresistive wire wrapped about the extruder 106, one or more heatingblocks with resistive elements to heat the extruder 106 with appliedcurrent, an inductive heater, or any other arrangement of heatingelements suitable for creating heat within the chamber 122 sufficient tomelt the build material for extrusion. The extruder 106 may also orinstead include a motor 128 or the like to push the build material intothe chamber 122 and/or through the extrusion tip 126.

In general operation (and by way of example rather than limitation), abuild material such as ABS plastic in filament form may be fed into thechamber 122 from a spool or the like by the motor 128, melted by theheater 126, and extruded from the extrusion tip 124. By controlling arate of the motor 128, the temperature of the heater 126, and/or otherprocess parameters, the build material may be extruded at a controlledvolumetric rate. It will be understood that a variety of techniques mayalso or instead be employed to deliver build material at a controlledvolumetric rate, which may depend upon the type of build material, thevolumetric rate desired, and any other factors. All such techniques thatmight be suitably adapted to delivery of build material for fabricationof a three-dimensional object are intended to fall within the scope ofthis disclosure.

The x-y-z positioning assembly 108 may generally be adapted tothree-dimensionally position the extruder 106 and the extrusion tip 124within the working volume 114. Thus by controlling the volumetric rateof delivery for the build material and the x, y, z position of theextrusion tip 124, the object 112 may be fabricated in three dimensionsby depositing successive layers of material in two-dimensional patternsderived, for example, from cross-sections of a computer model or othercomputerized representation of the object 112. A variety of arrangementsand techniques are known in the art to achieve controlled linearmovement along one or more axes. The x-y-z positioning assembly 108 may,for example, include a number of stepper motors 109 to independentlycontrol a position of the extruder within the working volume along eachof an x-axis, a y-axis, and a z-axis. More generally, the x-y-zpositioning assembly 108 may include without limitation variouscombinations of stepper motors, encoded DC motors, gears, belts,pulleys, worm gears, threads, and so forth. Any such arrangementsuitable for controllably positioning the extruder 106 within theworking volume 114 may be suitably adapted to use with the printer 100described herein.

In general, this may include moving the extruder 106, or moving thebuild platform 102, or some combination of these. Thus it will beappreciated that any reference to moving an extruder relative to a buildplatform, working volume, or object, is intended to include movement ofthe extruder or movement of the build platform, or both, unless a morespecific meaning is explicitly provided or otherwise clear from thecontext. Still more generally, while an x, y, z coordinate system servesas a convenient basis for positioning within three dimensions, any othercoordinate system or combination of coordinate systems may also orinstead be employed, such as a positional controller and assembly thatoperates according to cylindrical or spherical coordinates.

The controller 110 may be electrically coupled in a communicatingrelationship with the build platform 102, the conveyer 104, the x-y-zpositioning assembly 108, and the other various components of theprinter 100. In general, the controller 110 is operable to control thecomponents of the printer 100, such as the build platform 102, the x-y-zpositioning assembly 108, and any other components of the printer 100described herein to fabricate the object 112 from the build material.The controller 110 may include any combination of software and/orprocessing circuitry suitable for controlling the various components ofthe printer 100 described herein including without limitationmicroprocessors, microcontrollers, application-specific integratedcircuits, programmable gate arrays, and any other digital and/or analogcomponents, as well as combinations of the foregoing, along with inputsand outputs for transceiving control signals, drive signals, powersignals, sensor signals, and so forth.

A variety of additional sensors and other components may be usefullyincorporated into the printer 100 described above. These othercomponents are generically depicted as other hardware 134 in FIG. 1, forwhich the positioning and mechanical/electrical interconnections withother elements of the printer 100 will be readily understood andappreciated by one of ordinary skill in the art. The other hardware 134may include a temperature sensor positioned to sense a temperature ofthe surface of the build platform 102 or any other system components.This may, for example, include a thermistor or the like embedded withinor attached below the surface of the build platform 102. This may alsoor instead include an infrared detector or the like directed at thesurface 116 of the build platform 102 or the sheet 118 of material ofthe conveyer 104.

In another aspect, the other hardware 134 may include a sensor to detecta presence of the object 112 at a predetermined location. This mayinclude an optical detector arranged in a beam-breaking configuration tosense the presence of the object 112 at a predetermined location. Thismay also or instead include an imaging device and image processingcircuitry to capture an image of the working volume and to analyze theimage to evaluate a position of the object 112. This sensor may be usedfor example to ensure that the object 112 is removed from the buildplatform 102 prior to beginning a new build on the working surface 116.Thus the sensor may be used to determine whether an object is presentthat should not be, or to detect when an object is absent. The feedbackfrom this sensor may be used by the controller 110 to issue processinginterrupts or otherwise control operation of the printer 100. In anotheraspect, the sensor may include a heater (instead of or in addition tothe thermal element 130) to heat the working volume such as a radiantheater or forced hot air heater to maintain the object 112 at a fixed,elevated temperature throughout a build.

In general, the above system can build a three-dimensional object bydepositing lines of build material in successive layers—two-dimensionalpatterns derived from the cross-sections of the three-dimensionalobject. As described below, a deposition rate during this process may bevaried using a variety of techniques to impart a surface texture orother structures or features to outside surfaces of thethree-dimensional object. The following description begins with ageneralized software architecture for three-dimensional fabricationusing the systems described above, and continues with specific methodsfor varying a deposition rate to achieve a non-uniform surface textureor other surface feature during fabrication of an exterior surface ofthe three-dimensional object.

It will be understood that all surfaces are non-uniform in some sense,and that any fabrication process has physical. The phrase “non-uniformsurface texture” as used herein is intended to refer to those patterns,features, or structures that depart from ordinary process variationsachieved in a “uniform surface texture” obtained from aconstant-deposition-rate fabrication process that assumes a non-varyingvolumetric delivery rate for build material. By varying the volumetricrate of delivery of build material to deposit more or less buildmaterial at a given location than otherwise would have been deposited,intentional irregularities can be obtained, and more specificallycontrolled to provide sub-pixel features or surface textures. Thusnon-uniform surface textures or features may be identified as thosefeatures smaller than a nominal processing resolution of a fabricationsystem, but larger than features or characteristics resulting fromrandom or otherwise uncontrolled process variability. In the context ofthree-dimensional fabrication as contemplated herein, sub-pixel featuresmay similarly be understood to be any features processed or reproducedin x-y increments within the plane of a build platform smaller than thenominal step size of the fabrication system, or otherwise smaller thanthe smallest discretely addressable position intervals of thefabrication system, particularly in the x-y plane.

Non-uniform features as generally contemplated herein may be used toapply a desired surface texture to a three-dimensional object. In otheraspects, such non-uniform features may be used to control other aspectsof an object, such as a coefficient of friction on the surface of theobject or light transmission through the object.

In one aspect, this capability may be applied, e.g., on an angledsurface, to achieve surfaces that or more uniform or planar than wouldbe obtained in the “uniform” surface of an unmodified process. Thus theterm “non-uniform” as used herein may be best understood in certaincircumstances to mean “including features smaller than the nominalprocessing resolution of a fabrication system,” which features arereadily structurally identifiable to one of ordinary skill in the art.

FIG. 2 is a block diagram of a controller architecture for athree-dimensional printer. In general, a three-dimensional model isconverted into a sequence of tool instructions, typically including aline model that can be sent to a controller for execution on afabrication platform such as that described above.

A model 202 of an object such as any of the three-dimensional objects112 described above may be stored as a computer-aided design (CAD) modelor other three-dimensional representation using any open or proprietaryformat. The model may, for example, include a wireframe representation,solid modeling representation, surface modeling representation, pointcloud, or the like. Numerous data formats and three-dimensional modelingtools are known in the art, any of which may be suitably adapted to usefor creating and storing the model 202.

The model may be provided to a computer 204, which may be any generalpurpose or special purpose computing device including, e.g., aprocessor, memory, and one or more data or network interfaces or otherinput/output ports. The computer may convert the model 202 in accordancewith computer code running on the computer 202 to obtain arepresentation of the model 202 suitable for fabrication. In one aspect,this may include multiple steps such as conversion to a standard formatsuch as the widely used stereolithography (STL) file format created by3D Systems. The model 202, or the standard format representation of themodel 202, may be further processed to obtain tool instructions 208 fora controller 210 such as the controller 110 described above. In oneaspect, the tool instructions 208 may include g-code or any othercomputer numerical control programming language or other descriptionsuitable for execution by the controller 210. In one relevant aspect,g-code or other similar tool instructions include a tool path thatcharacterizes a physical path in three-dimensional space traversed by atool such as the x-y-z positioning assembly 108 and extruder 106described above. More specifically, the tool path may include a linemodel of an object for fabrication, which spans that portion of the toolpath during which the tool extrudes material to form the object. Thetool instructions 208 may represent the line model as a sequence ofdirections, a sequence of locations, a sequence of starting and endinglocations, or any other suitable representation. However formulated, thetool instructions 208 including the line model may be transmitted to thecontroller 210 for execution.

The controller 210, which may receive the tool instructions 208 as astream of instructions or as a file for local execution or in any othersuitable form, may interpret the tool instructions 208 and generatecontrol outputs 212 directing the various aspects of a fabricationsystem such as the printer 100 described above to produce a physicalrealization of the object described in the model 202. The controloutputs 212 may include analog control outputs, digital control outputs,or the like.

The model 202 may include, or may be processed to derive, one or moresurface features 214 of the object, or a user may specify such surfacefeatures 214 independently from the object described by the model 202.However derived, these surface features 214 may be used by the computer204 in preparing tool instructions 208. This may include incorporatingthe surface features 214 into the line model or tool path whereappropriate, or creating metadata for the tool instructions 208 so thatthe controller 210 can apply the surface features 214 consistent withits own capabilities. In another aspect, the surface features 214 may besent directly to the controller 210 for handling independent of the toolinstructions 208. As discussed above, features within the processingresolution of the fabrication platform (including the controller 210)may simply be incorporated into the tool instructions 208 for executionby the controller 210. However, features below the processing resolution(which may be measured using any suitable metric such as a minimumfeature dimension, a minimum tool path step, a minimum volume of buildmaterial, a minimum x-y resolution, and so forth) may still bereproduced by the fabrication platform using the techniques discussedherein. In particular, the controller 210 may identify surfaces of themodel 202, identify one or more corresponding surface features 214(which may be location dependent or location independent), and modifythe tool instructions 208 during fabrication to obtain the desiredsurface features 214 on a physical model fabricated from the model 202.

The surface features 214 may include any of a variety of structures,features, or the like. In one aspect, the surface features 214 mayprovide a general description of surface texture such as smooth, rough,wavy, undulating, and so forth, along with an identification of where ona surface of the object the surface feature appears. The surface feature214 may be physically modeled as a bit map or voxel representation, oras a more general representation that can be scaled, rotated, orotherwise modified to achieve a desired feature or texture. In oneaspect, a variety of surface textures or features may be provided forselection and placement by a user. More generally, a variety of types ofsurface features 214, and representations of same, may be suitablyadapted to the uses contemplated herein. In some embodiments, the toolinstructions may include information allowing for later calculation ofsurface features by a controller. This information may, withoutlimitation, include surface identifiers relating lines in a tool path tosurfaces in the model 202, such as exterior surfaces, interior surfaces,and so on. The information may also or instead include textureidentifiers that identify surface features with reference to basetextures, texture models, texturing parameters (magnitude, rotation,scaling, etc.). This information may further include data used intexture mapping the base textures to the surfaces (e.g., data forregistering/orienting the texture map to the surface, and so on). Inembodiments, the texture maps may include two-dimensional texture maps,three-dimensional texture maps, tessellations, smoothing oranti-aliasing patterns/filters, and so on.

It will be understood that, while FIG. 2 depicts surface textures asdata external to a model, the surface texture may be included withinobject data for the model, or may be inferred from the model itself, allwithout departing from the scope of this disclosure. Regardless of howor where obtained, the surface feature 214 may be realized in a physicalobject fabricated by a three-dimensional printer or the like.

When surface texture information is available, either within the toolinstructions or independent of the tool instructions, the controller 110may adjust or adapt the tool instructions accordingly to achieve theintended surface texture, such as by including an instruction todecrease or increase a feed rate for build material or a temperature ofa heating chamber, or by moving a deposition tool such as the extruder106 described above within a z axis to vary the rate at which buildmaterial is deposited.

Logic for calculating the variations in a deposition rate during afabrication process may be implemented in firmware, software, hardware,or the like on the controller 210. Thus while the controller 210 maygenerally operate to extrude a build material at a constant depositionrate (or volumetric flow rate) while moving an extruder in an x-ypattern according to the tool instructions 208 from the computer 204,the controller 210 may also reference surface features 214 toadditionally determine when and where to vary from a predetermined,constant deposition rate in the tool instructions 208. These variationsin deposition rate during the build process may be applied to obtainvariations in the surface texture to obtain a physical realization ofthe model 202 that includes the surface features 214. Thus in oneaspect, the fabrication of surface textures or other surface features ascontemplated herein may be readily recognized by the addition ormodification of controller instructions to interpolate, filter, vary, orotherwise modify tool instructions for a constant-deposition-ratefabrication process.

In another aspect, these and similar techniques may be applied toachieve sub-pixel resolution in a fabrication process. For example, atool path in the tool instructions 208 may be represented as a straightline. Where this line is angled to an x-y coordinate system used tocontrol a tool such as an extruder, the deposition rate may be varied topartially fill step discontinuities between discrete, adjacent x or ycoordinates within the tool path. A variety of sub-pixel processing andrendering techniques are known in the art of two-dimensional printingsuch as interpolation, anti-aliasing, and low-pass filtering, many ofwhich may be readily adapted to use with the systems and methodsdescribed herein.

FIG. 3 is a flow chart of a process for imparting surface texture to athree-dimensional object. In general, a three-dimensional object may befabricating using the printer 100 described above or any similar system.During this process, modifications may be implemented as described belowto impose a desired, predetermined surface texture on an object duringfabrication.

As shown in step 302, the process 300 may begin with liquefying a buildmaterial. This may be any liquefiable material such as a thermoplasticor the like. It will be understood that some useful build materials donot require liquefication, and may be curable or otherwise treatableafter extrusion to achieve desired structural and/or aestheticproperties. Thus this step is optional, and depends upon the type ofbuild material being used in a three-dimensional fabrication process.

As shown in step 304, the liquefied build material may be extrudedthrough a nozzle of an extruder onto a build surface in an extrusion toform an object. This may be a liquefied build material, or any othersuitable build material as noted above.

As shown in step 306, the build surface may be moved relative to theextruder (or nozzle thereof) during the extrusion as generally describedabove to impart a predetermined shape, such as from a computer model orthe like, to the object.

As shown in step 308, the process 300 may include fabricating anexterior wall or other portion of the object with the extrusion of thebuild material. This may include fabrication using any of the techniquesdescribed above. It will be understood that the exterior wall may bedetected using a variety of techniques. For example, numerous algorithmsare known for identifying surfaces of volumetric models, any of whichmay be applied to identify exterior walls automatically. An exteriorwall may also or instead be explicitly labeled in the surface featuredata, so that a controller can detect the exterior surface with a flagor the like within the tool instructions. In this aspect, it will beunderstood that manual identification of “exterior” walls may also beused to flag interior walls or structures where greater control ofextrusion is desired.

While the description herein focuses on the texture or shape of surfacefeatures imposed on an object, it will be appreciated that the improvedcontrol provided by the techniques disclosed herein may be applied toobtain other benefits. For example, by varying the thickness of anexterior wall, the light-transmissive properties may be controlled toachieve desirable aesthetic qualities such as by embedding patterns ordesigns in an exterior wall that are visible when the exterior wall isbacklit. This technique may be applied to fabricate, e.g., an ornamentallamp shade or similar device with a light-transmissive design.

As shown in step 310, the process 300 may include varying a depositionrate of build material during extrusion to impart a non-uniform surfacetexture to the exterior wall. As generally described above, thenon-uniform surface texture may be a predetermined surface texturehaving one or more sub-pixel features relative to the process used forfabrication.

It will be understood that the deposition rate may be varied using anumber of different techniques. For example, in one aspect a buildmaterial feed rate may be varied by controlling the speed of a drivemotor or similar mechanism that supplies a filament of build material toan extruder. As the feed rate or motor speed is increased, thedeposition rate will increase, and as the feed rate (or motor speed) isdecreased, the deposition rate will decrease. This approach inparticular permits extended periods of increase or decrease withoutrequiring an offsetting, opposing action to return to the constantdeposition rate. By contrast, other techniques such as increasingtemperature (where materials and thermal control permit) or temporarilychanging a z-axis position of the extruder or build platform, wouldgenerally require a complementary, offsetting parameter change to returnthe system to a normal, constant-deposition-rate process. Thislimitation is mitigated where the change in deposition rate is periodicin nature. That is, where the variation in deposition rate is sinusoidalor otherwise varies in a manner for which the rate of depositionintegrates to the constant rate (or stated differently, with zero netchange in deposition rate), the need to actively recover the constantdeposition rate (e.g., by a complementary, opposing step in z-axisposition) may be mitigated or eliminated.

In another aspect, temperature of a heater or the like may similarly bevaried. By increasing the heat applied to a liquefiable material such asa thermoplastic, the rate of deposition may be increased as the lessviscous material flows more quickly from an extruder. Similarly, adecrease in heat may slow the extrusion of material. As noted above,such variations may be periodic in nature to avoid processingdifficulties from an otherwise constant feed supply rate such asoverfilling a melting chamber or underfilling to cause a discontinuityin the supply of build material. As another example, the z-axis positionmay be temporarily increased or decreased where the system allows, tocause an increase in the deposition rate (as an extruder moves closer toa build platform) or a decrease in the deposition rate (as the extrudermoves away from the build platform). In yet another aspect, the rate ofx-y movement or horizontal velocity of the build platform relative tothe extruder may be varied to achieve changes in deposition rate undercontrol of the controller.

It will readily be appreciated that two or more parameters (e.g.,temperature and feed rate) may be varied concurrently to control thedeposition rate of a build material. Additionally, it will be understoodthat certain controls may exhibit a significant latency. So, forexample, increasing the temperature may be limited by thermalcapacitance of the heating components, and there may be a significantlag (relative to a time step used by the controller) before the changein temperature yields a change in deposition rate. Such latency may bedetermined empirically or experimentally, or estimated using physical orstatistical modeling, or otherwise determined so that the controllerissues instructions to the extruder and/or build platform in a mannersuitably synchronized to the fabrication process to obtain surfacefeatures at the desired location(s) within an object.

As noted above, the surface texture may be specified in numerous ways.This may include sub-pixel interpolation of a computer model as notedabove. This may also or instead include use of pre-defined surfacetextures based upon, e.g., sinusoidal functions, step functions,triangle functions, square functions, and so forth. In addition todescribing such surface textures in a particular two-dimensional layerof a build, a surface texture may define an offset or the like fromlayer to layer so that a periodic or other variation can be shifted inthe x-y plane with successive z-axis steps. Thus the surface texture mayinclude two-dimensional features that are aligned, misaligned, staggeredor otherwise arranged from layer to layer. Similarly, the surfacetexture may apply different patterns or functions in eachtwo-dimensional layer to achieve a desired surface texturing effect.

More generally, varying the deposition rate may include any and alltechniques for varying how much material is deposited in a particulararea. Thus, the phrase “varying the deposition rate” as used herein isintended to include literally varying the rate at which build materialexits the extruder, as well as other variations causing a change in thetime wise amount of material deposited on an object such as a change inthe velocity of an extrusion head relative to a build platform, as wellas any combination of the these or other controllable parameters thataffect the quantity of material deposited in a particular area over aparticular period of time.

FIG. 4 is a flowchart of a process for fabricating an object withsub-pixel surface features.

As shown in step 402, the process 400 may begin with receiving athree-dimensional model of an object that has been pre-processed forrendering as a continuous path in an extrusion process that uses aconstant deposition rate. This may, for example, include the creation oftool instructions from a digital model as generally described above,including without limitation a tool path followed by an extruder whiledepositing material to build the object. In general, pre-processing inthis manner includes selecting a number of operating parameters such asfeed rate, temperature, x and y step sizes, and the like, which may beselected explicitly through a user interface, or implicitly by softwaresupporting a fabrication system, and calculating a path through a seriesof two-dimensional layers that can be used to fabricate the object. Thedetails of tool path creation are well known in the art and embodied insoftware and fabrication systems that are commercially available, and assuch, the details of generating tool instructions are not set forth indetail here.

As shown in step 404, the process 400 may include identifying anexterior wall in the three-dimensional model of the object. As notedabove, this may include any suitable automated or manual process orcombination of these, and may for example include identifyingnon-exterior walls as exterior walls for purposes of sub-pixel featurefabrication. The phrase “exterior wall” as used herein should beunderstood to include all such regions of the model and/or objectfabricated from the model.

As shown in step 406, the process may include determining surfacefeatures of the exterior wall. This may include identifying small (e.g.,sub-pixel) features from a digital model that are not captured in a toolpath, such as surface details or an interpolation of lines or othergeometric features from the digital model. This may also or insteadinclude a selection of a generalized surface texture for a region of theexterior wall as described above. It will be understood that in certaincircumstances, the surface features may include features larger than anominal x-y processing resolution of a fabrication system, that is,capable of reproduction without independent control of a deposition rateas described herein. Nonetheless, such surface features may be usefullymodeled and fabricated as a characteristic independent of the digitalmodel.

As shown in step 408, a three-dimensional fabrication system mayfabricate the object of the digital model using a tool path and/or othertool instructions.

As shown in step 410, during the fabrication of step 408, a surfacetexture may be imparted to the exterior wall of the object bycontrolling the deposition process to deviate from the constantdeposition rate. Stated differently, the deposition rate may vary inresponse to surface features detected by the controller duringdeposition, which variations may be independent of a tool path dictatedby a source digital model. Such variations may in general be representedin a variety of forms, and may be realized using a variety oftechniques, all as discussed above.

This may, for example, include elements or features smaller than aresolution of the deposition process, such as an x-y resolution or othernominal step size or controlled increment of fabrication. This may alsoor instead include an overall surface texture for the exterior wallbased upon a mathematical model (e.g., sinusoid, triangle wave, etc.),bitmapped surface, or any other source.

FIG. 5 is a block diagram of a data structure describing an object forthree-dimensional fabrication. In general, the data structure 500 mayinclude a description of an object 502 that has been pre-processed forrendering as a continuous path in a deposition process based upon, e.g.,an extrusion at a constant deposition rate, along with a surfacedefinition 514 of one or more surface features for the object 502.

The description of the object 502 may include any of a variety of toolinstructions that specify parameters such as temperature, feed motorspeed, and any other controllable parameters for a fabrication platformsuch as the printer 100 described above. The instructions may moreparticularly include a tool path 504 including a number of start 508 andend 510 coordinates in x-y-z space that characterize a path traversed bya tool such as an extruder during fabrication of the object. Typically,the z coordinate remains constant while a two-dimensional line isrendered in the x-y plane, however, any combination or sequence ofcoordinates within the processing capability of the fabrication platformmay be used to define a tool path for rendering an object ascontemplated herein. Techniques are well known in the art for convertinga three-dimensional object model into a tool path that includessequential layers of two-dimensional patterns, and software (either opensource or proprietary) is commercially available for performing thisfunction. As such, the details of a conversion from a digital model to atool path are not described in detail here.

In addition, the description of the object 502 may include a surfaceidentifier 512 or other metadata that flags a particular line or linesegment in the tool path 504 as belonging to an exterior wall. It shouldbe noted that this data is optional. Rather than explicitly labelingsurfaces, exterior surfaces and the like may be inferred by a controllerthat receives the description of the object 502 based on, e.g., analysisof the tool path 504 or a comparison of the tool path 504 to an originaldigital model from which the tool path 504 was obtained.

The surface definition 514 may define surface features or surfacetexture in any suitable manner. For example, the surface definition 514may be indexed to the surface identifier 512 of the description of theobject 502 so that textures or features can be retrieved and applied ona segment-by-segment basis along the tool path 504. The textureidentifier 518 may include a reference to a texture description, such asa mathematical or physical (e.g., bitmapped) representation of atexture, or to one or more tool instructions that vary a deposition rateto achieve a desired feature or texture. In another aspect, the surfacedefinition 514 may be omitted as an explicit description of surfacefeatures or textures, and a controller or the like processing the toolpath 504 may instead compare the tool path 504 to a source digital modelof the object to determine whether and where a deposition rate might bevaried to conform the fabrication process to features of the digitalmodel. It will further be appreciated that both of these techniques maybe applied in combination, either concurrently or sequentially, withoutdeparting from the scope of this disclosure.

Having described systems, methods, and data structures for surfacetexturing and other sub-pixel rendering techniques in three-dimensionalfabrication, a number of examples are now provided of extrusionsobtained using these techniques. It will be understood that the drawingsof extrusions in the following figures are provided by way of exampleand for purposes of illustration. These drawings do not limit the scopeof this disclosure to any particular relative or absolute dimensions orto any specific features or patterns of extrusion that might be obtainedby varying a deposition rate as contemplated herein.

FIG. 6 shows an extrusion of a build material. The build material may beany of the materials described above. The extrusion 600 in FIG. 6 isrendered along a straight line of a tool path from a first point 602 toa second point 604 in an x-y plane. The extrusion 600 is renderedwithout any modification to tool instructions and as such provides asurface 606 with substantially straight walls.

FIG. 7 shows an extrusion of a build material. The extrusion 700 isrendered along a straight line of a tool path from a first point 702 toa second point 704. During the extrusion, the deposition rate may bevaried according to, e.g., a periodic square wave or similar stepfunction of any desired duty cycle to obtain a surface 708 that includesperiodic protrusions. As noted above, these protrusions may be staggeredfrom layer to layer of a fabrication process so that correspondingridges are oriented diagonally along a surface of a completed object.

FIG. 8 shows an extrusion of a build material. The extrusion 800 isrendered along a straight line of a tool path from a first point 802 toa second point 804. During extrusion, the deposition rate may be variedaccording to, e.g., a periodic function such as a sinusoid or trianglewave to obtain a surface 808 that is substantially sinusoidal in shape.

FIG. 9 depicts an exterior wall 900 of an object fabricated from adigital model using a varying deposition rate. The digital model of theexterior wall 900 may have a surface 902 angled to a rectilinearcoordinate system of a fabrication platform such as the printer 100described above. The physical model rendered by a conventional extrusionprocess with x-y control may have a corresponding surface 904 with anumber of straight line segments oriented to the x-y coordinate systemof the extruder, resulting in a stair step surface. By varying thedeposition rate using, e.g., the techniques described above, a physicalmodel of the exterior wall may be fabricated with a modified surface 906that more closely matches the digital model. It will be appreciated themodified surface 906 is provided by way of example, and that the actualcontours of the modified surface 906 may vary according to thecapability of a varying deposition rate process to achieve particularsurface features. It will further be appreciated that an interiorsurface of the physical model may depart significantly from the contoursof the digital model, the simple x-y version of the digital model, andthe modified surface 906 of the exterior wall 900.

The foregoing techniques may be employed to apply surface textureindependent of a digital model, or to render sub-pixel surface featuresas generally described above. It will be appreciated that modificationsof deposition rate (e.g., by a controller to a set of tool instructionsfor fabricating an object from a digital model) may similarly be appliedto a wide array of aesthetic and structural design techniques. Forexample, these techniques may be applied to vary wall thickness andprovide different light transmission properties within a wall of anobject. These techniques may also or instead be used to control in-fillwithin a closed object in order to reduce weight or increase structuralsupport. These techniques may also or instead be applied buttress,fillet, or otherwise add internal and/or external structural features toreinforce an object or portions thereof, or similarly to reduce materialdeposition to reduce rigidity and provide increase compliance at desiredlocations within an object. All such variations as would be apparent toone of ordinary skill in the art are intended to fall within the scopeof this disclosure.

Similarly, it will be appreciated that the various steps identified anddescribed above may be varied, and that the order of steps may beadapted to particular applications of the techniques disclosed herein.All such variations and modifications are intended to fall within thescope of this disclosure. As such, the depiction and/or description ofan order for various steps should not be understood to require aparticular order of execution for those steps, unless required by aparticular application, or explicitly stated or otherwise clear from thecontext.

The methods or processes described above, and steps thereof, may berealized in hardware, software, or any combination of these suitable fora particular application. The hardware may include a general-purposecomputer and/or dedicated computing device. The processes may berealized in one or more microprocessors, microcontrollers, embeddedmicrocontrollers, programmable digital signal processors, or otherprogrammable device, along with internal and/or external memory. Theprocesses may also, or instead, be embodied in an application specificintegrated circuit, a programmable gate array, programmable array logic,or any other device or combination of devices that may be configured toprocess electronic signals. It will further be appreciated that one ormore of the processes may be realized as computer executable codecreated using a structured programming language such as C, an objectoriented programming language such as C++, or any other high-level orlow-level programming language (including assembly languages, hardwaredescription languages, and database programming languages andtechnologies) that may be stored, compiled or interpreted to run on oneof the above devices, as well as heterogeneous combinations ofprocessors, processor architectures, or combinations of differenthardware and software.

Thus, in one aspect, each method described above and combinationsthereof may be embodied in computer executable code that, when executingon one or more computing devices, performs the steps thereof. In anotheraspect, the methods may be embodied in systems that perform the stepsthereof, and may be distributed across devices in a number of ways, orall of the functionality may be integrated into a dedicated, standalonedevice or other hardware. In another aspect, means for performing thesteps associated with the processes described above may include any ofthe hardware and/or software described above. All such permutations andcombinations are intended to fall within the scope of the presentdisclosure.

While particular embodiments of the present invention have been shownand described, it will be apparent to those skilled in the art thatvarious changes and modifications in form and details may be madetherein without departing from the spirit and scope of this disclosureand are intended to form a part of the invention as defined by thefollowing claims, which are to be interpreted in the broadest senseallowable by law.

What is claimed is:
 1. A device comprising: an extruder having aninterior chamber that receives a build material for extrusion, a nozzlethat extrudes the build material, and a motor that drives the buildmaterial through the interior chamber and out the nozzle; a buildplatform that receives an object formed of the build material extrudedfrom the nozzle; a positioning assembly that positions the buildplatform relative to the extruder; and a controller coupled in acommunicating relationship with the extruder and the positioningassembly, the controller programmed to impart a non-uniform surfacetexture to an exterior wall of the object by varying a deposition rateof the build material onto the object during fabrication of the exteriorwall.
 2. The device of claim 1 further comprising a heating element thatliquefies the build material in the interior chamber for extrusion fromthe nozzle as a liquid build material.
 3. The device of claim 1 whereinthe deposition rate is controlled by controlling a rate of extrusion ofthe build material from the extruder.
 4. The device of claim 3 whereinthe rate of extrusion is further controlled by a speed of the motor. 5.The device of claim 1 wherein the deposition rate is controlled bycontrolling a speed at which the positioning assembly moves the buildplatform relative to the extruder.
 6. The device of claim 1 wherein thedeposition rate is controlled by controlling a z-axis position of thebuild platform relative to the extruder.
 7. The device of claim 1wherein the controller is configured to receive a user-specified surfacetexture and to vary the deposition rate to achieve the user-specifiedsurface texture on the exterior wall of the object.